package com.AndroRouter;

import java.util.ArrayList;


import android.os.Debug;

import com.esri.core.geometry.Point;
import com.esri.core.geometry.Polyline;


public class GPS {
	int pasoActual;
	
	
	ArrayList<Point> camino;
	
	
public int setearRuta(Polyline rutaGenerada,int time){
	int pasos=0;
	
	Point primero = rutaGenerada.getPoint(0);
	camino.add(primero);
	int pasosTotales=1;
	
	int pathSize = rutaGenerada.getPathSize(0);
for (int j =0; j < (pathSize -1); j++ )	{
	
	Point anterior = rutaGenerada.getPoint(j);

	Point  actualPoint= rutaGenerada.getPoint(j+1);
	
	double x2 = actualPoint.getX();
	double x1 = anterior.getX();
	double y2 = actualPoint.getY();
	double y1 = anterior.getY();
	double dx = (x2 - x1);	
	double dy =( y2 - y1);

	 //paso entre toma y toma de GPS
	int paso = 10000;
	double distancia = Math.sqrt((dx*dx)+(dy*dy));//saca una distancia ficticia
    pasos= new Double(distancia / paso).intValue();//saco cant pasos del for
   
	for (int i=1;i<pasos;i++){
		double variadorVel = Math.random()-0.5;//devuelve un random entre -0.5y 0.5;
		Point alCamino = new Point(x1+(dx/pasos)*(i+variadorVel),y1+(dy/pasos)*(i+variadorVel));
		camino.add(alCamino);
	
				
	}
	camino.add(actualPoint);
	pasosTotales=pasosTotales+pasos;
	
}

return pasosTotales;
}

public Point obtenerPuntoGPS(int paso){
	
	return camino.get(paso);
	
}

public GPS(){
	camino = new ArrayList<Point>();
	pasoActual = 0;
	
}
	

}
